'use strict';

const db = uniCloud.database();
const periodCollection = db.collection('period_records');

exports.main = async (event, context) => {
	// 获取用户ID和日期
	const { userId, date } = event;
	
	if (!userId || !date) {
		return {
			code: 1,
			message: '缺少必要参数'
		}
	}
	
	try {
		// 解析日期，确保正确处理本地时区
		const dateParts = date.split('-');
		if (dateParts.length !== 3) {
			return {
				code: 2,
				message: '日期格式错误，应为YYYY-MM-DD'
			}
		}
		
		// 创建指定日期的0点时刻，使用UTC时间以匹配存储格式
		const year = parseInt(dateParts[0]);
		const month = parseInt(dateParts[1]) - 1; // 月份从0开始
		const day = parseInt(dateParts[2]);
		const recordDate = new Date(Date.UTC(year, month, day, 0, 0, 0));
		
		// 查找该日期的记录
		const existRecord = await periodCollection.where({
			user_id: userId,
			date: recordDate
		}).get();
		
		// 如果没有找到记录
		if (!existRecord.data || existRecord.data.length === 0) {
			return {
				code: 2,
				message: '未找到该日期的月经记录'
			}
		}
		
		// 删除记录
		const deleteResult = await periodCollection.where({
			user_id: userId,
			date: recordDate
		}).remove();
		
		return {
			code: 0,
			message: '删除月经记录成功',
			deleted: deleteResult.deleted
		}
	} catch (error) {
		console.error('删除月经记录失败:', error);
		return {
			code: 500,
			message: '删除月经记录失败:' + error.message
		}
	}
}; 